# mysql 神器 explain
    # 查看sql语句的执行计划
    # explain select * from s1 where id < 1000000;
    # 是否命中了索引,命中的索引的类型

# 两个名词
    # 覆盖索引 using index
        # select count(id) from 表;
        # select id from 表 where id <20;
    # 索引合并
        # 创建的时候是分开创建的
        # 用的时候临时和在一起了
        # using union 表示索引合并

# 知道mysql可以开启慢日志
    # 慢日志是通过配置文件开启
    # 如果数据库在你手里 你自己开
    # 如果不在你手里 你也可以要求DBA帮你开

# 7表联查速度慢怎么办?
    # 1.表结构
        # 尽量用固定长度的数据类型代替可变长数据类型
        # 把固定长度的字段放在前面
    # 2.数据的角度上来说
        # 如果表中的数据越多 查询效率越慢
            # 列多 : 垂直分表
            # 行多 : 水平分表
    # 3.从sql的角度来说
        # 1.尽量把条件写的细致点儿 where条件就多做筛选
        # 2.多表尽量连表代替子查询
        # 3.创建有效的索引,而规避无效的索引
    # 4.配置角度上来说
        # 开启慢日志查询 确认具体的有问题的sql
    # 5.数据库
        # 读写分离
            # 解决数据库读的瓶颈

# 数据表\库的导入导出
    # 备份表 :homwork库中的所有表和数据
        # mysqldump -uroot -p123 homework > D:\s23\day42\a.sql
        # 备份单表
        # mysqldump -uroot -p123 homework course > D:\s23\day42\a.sql
    # 备份库 :
        # mysqldump -uroot -p123 --databases homework > D:\s23\day42\db.sql

    # 恢复数据:
        # 进入mysql 切换到要恢复数据的库下面
        # sourse D:\s23\day42\a.sql

# 开启事务,给数据加锁
    # begin;
    # select id from t1 where name = 'alex' for update;
    # update t1 set id = 2 where name = 'alex';
    # commit;











